# -*- coding: utf-8 -*-
# @Time    : 2024/11/14  8:52
# @Author  : Nabby
# @FileName: role_resource_impl.py
# @Desc    :

from app import db
from infrastructure.po.mode.role_resource import RoleResource


class RoleResourceImpl(object):
    @classmethod
    def get_role_resource_by_role_id(cls, role_id):
        role_resouces = (
            db.session.query(RoleResource.resource_id)
            .filter(RoleResource.role_id == role_id)
            .all()
        )
        return role_resouces

    @classmethod
    def add_role_resource(cls, role_id, resource_id):
        """
        新增角色资源
        :param role_id: 角色id
        :param resource_id: 资源id
        :return:
        """
        print("=====add_role_resource=====")
        print("role_id:" + role_id, flush=1)
        print("resource_id:" + resource_id, flush=1)
        # 判断角色资源是否存在
        count = (
            db.session.query(RoleResource)
            .filter(
                RoleResource.role_id == role_id, RoleResource.resource_id == resource_id
            )
            .count()
        )
        print("count:" + str(count), flush=1)
        if count == 0:
            # 新增角色资源
            role_resource = RoleResource(role_id=role_id, resource_id=resource_id)
            db.session.add(role_resource)
            db.session.commit()
        return True

